Skip to content

Conversation

@bsbodden
Copy link
Collaborator

BREAKING CHANGE: This release upgrades to Spring Boot 4.0.0 and Spring Data Redis 4.0.0, introducing breaking changes due to Spring's modularization and API changes.

  • Fix query parameter handling to skip special parameters (Pageable, Sort) in RedisEnhancedQuery.prepareQuery() to prevent conversion exceptions

  • Update array serialization in MappingRedisOMConverter to iterate directly through arrays instead of converting to lists, resolving PersistentEntity lookup failures for array types

  • Add validation to prevent persisting collections containing null elements, maintaining data integrity constraints

  • Adapt to new package structure where test autoconfiguration classes moved to module-specific packages (org.springframework.boot..*)

  • Update RedisAutoConfiguration references to DataRedisAutoConfiguration in new org.springframework.boot.data.redis.autoconfigure package

  • Update deprecated API usage for Spring Data 4.0 compatibility

  • Update AutoConfigureMockMvc import from org.springframework.boot.test.autoconfigure.web.servlet to org.springframework.boot.webmvc.test.autoconfigure

  • Update TestRestTemplate import from org.springframework.boot.test.web.client to org.springframework.boot.resttestclient

  • Update RedisAutoConfiguration to DataRedisAutoConfiguration across test configuration classes

  • Add spring-boot-starter-webmvc-test for MockMvc support (roms-documents)

  • Add spring-boot-resttestclient for TestRestTemplate support (roms-vectorizers, roms-modeling)

  • Add spring-boot-data-redis for DataRedisAutoConfiguration access (roms-vectorizers, roms-modeling, roms-multi-acl-account)

  • Fix testcontainers:junit-jupiter version specification (1.20.4) across all demo modules (roms-documents, roms-hashes, roms-permits, roms-vss, roms-vss-movies, roms-amr-entraid)

  • Exclude DataRedisRepositoriesAutoConfiguration in roms-multi-acl-account to prevent Spring Data Redis repositories from overriding Redis OM Spring repositories in multi-ACL scenarios

  • Spring Boot: 3.x → 4.0.0

  • Spring Data Redis: 3.x → 4.0.0

  • Jedis: upgraded to 7.0.0 for compatibility

…edis 4.0.0 (#675)

BREAKING CHANGE: This release upgrades to Spring Boot 4.0.0 and Spring Data Redis 4.0.0,
introducing breaking changes due to Spring's modularization and API changes.

- Fix query parameter handling to skip special parameters (Pageable, Sort)
  in RedisEnhancedQuery.prepareQuery() to prevent conversion exceptions
- Update array serialization in MappingRedisOMConverter to iterate directly
  through arrays instead of converting to lists, resolving PersistentEntity
  lookup failures for array types
- Add validation to prevent persisting collections containing null elements,
  maintaining data integrity constraints

- Adapt to new package structure where test autoconfiguration classes moved
  to module-specific packages (org.springframework.boot.<module>.*)
- Update RedisAutoConfiguration references to DataRedisAutoConfiguration in
  new org.springframework.boot.data.redis.autoconfigure package
- Update deprecated API usage for Spring Data 4.0 compatibility

- Update AutoConfigureMockMvc import from
  org.springframework.boot.test.autoconfigure.web.servlet to
  org.springframework.boot.webmvc.test.autoconfigure
- Update TestRestTemplate import from
  org.springframework.boot.test.web.client to
  org.springframework.boot.resttestclient
- Update RedisAutoConfiguration to DataRedisAutoConfiguration across
  test configuration classes

- Add spring-boot-starter-webmvc-test for MockMvc support (roms-documents)
- Add spring-boot-resttestclient for TestRestTemplate support
  (roms-vectorizers, roms-modeling)
- Add spring-boot-data-redis for DataRedisAutoConfiguration access
  (roms-vectorizers, roms-modeling, roms-multi-acl-account)
- Fix testcontainers:junit-jupiter version specification (1.20.4) across
  all demo modules (roms-documents, roms-hashes, roms-permits, roms-vss,
  roms-vss-movies, roms-amr-entraid)

- Exclude DataRedisRepositoriesAutoConfiguration in roms-multi-acl-account
  to prevent Spring Data Redis repositories from overriding Redis OM Spring
  repositories in multi-ACL scenarios

- Spring Boot: 3.x → 4.0.0
- Spring Data Redis: 3.x → 4.0.0
- Jedis: upgraded to 7.0.0 for compatibility

- All 1479+ tests passing
- All 10 demo modules building successfully
- Full compatibility with Spring Boot 4.0.0 verified
- Update glob from 10.4.x to 10.5.0+ (CVE-2024-XXXXX - command injection)
- Update js-yaml from 4.1.0 to 4.1.1+ (prototype pollution vulnerability)

Fixes: https://github.com/redis/redis-om-spring/security/dependabot
Add prominent version compatibility table showing which Redis OM Spring
version to use with each Spring Boot version:

- 1.0.x => Spring Boot 3.4.x
- 1.1.x => Spring Boot 3.5.x
- 2.0.x => Spring Boot 4.0.x

Uses GitHub's [!IMPORTANT] callout syntax for visibility.
@bsbodden bsbodden merged commit 9c1f3e8 into main Nov 27, 2025
7 checks passed
@bsbodden bsbodden deleted the bsb/spring-boot-4.0.0 branch November 27, 2025 23:40
@bsbodden bsbodden self-assigned this Nov 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants